package 集合;
import java.util.*;
/*
  Vector 用法基本和ArrayList一致
  1，实现原理:使用动态数组实现，默认构造一个大小为10的数组
  2，扩充算法:当增量为0时，原容量x2，增量不是0时，原容量+增量
  3，不适合删除和插入
  4，建议构造是给定初始容量
  5，线程安全的适合多线程
  
  
  ArrayList
  1，实现原理:采用动态数组实现(1.8默认构建一个空数组)
  2，第一次添加数据扩充容量为10，之后扩充算法为 原大小+原大小的一半
  3，不适合删除和插入操作
  4，为了避免扩充容量次数过多，建议初始构建时确定容量
  5，线程不安全，适合单线程(同数组一样)
  
  LinkedList 基本用法同上
  1，实现原理:采用双向链表的数据结构，
*/
public class X02ArrayList与Vector和LinkedList
{
	public static void main(String[] args){
		Vector<String> v=new Vector<>();//jdk1.7以后，后面可以只写尖括号ArrayList<>
		v.add("java");
		v.add("python");
		v.add("c++");
		v.add("c#");
		v.add("你好");
		//list.add(14);
		int size=v.size();
		for(int i=0;i<size;i++){
			System.out.println(v.get(i));
		}
	}
}
